package Scheme101;


import java.lang.reflect.Method;
import java.util.*;

public class Cell{

    String type; //Symbol, Number, List, Proc, Lambda
    String value;
    Method method;
    List<Cell> list;
    Cell args;
    Cell body;
    Environment env;

    public Cell(String newType) {
        type = newType;
        if (type.equals("List")) {
            list = new ArrayList<Cell>();
            value = "";
        }
    }

    public Cell(String newType, String newValue) {
        type = newType;
        value = newValue;
    }

    public Cell(String newType, Cell newArgs, Cell newBody, Environment newEnv) {
        type = newType;
        args = newArgs;
        body = newBody;
        env = newEnv;
    }

    public String toString(){
        return type;
    }   
}
